package com.yonyou.pmclouds.ncinvoker.itf;

import com.yonyou.pmclouds.basecom.exception.BusinessException;
import com.yonyou.pmclouds.ncinvoker.entity.NCInvokerResult;
import com.yonyou.pmclouds.ncinvoker.entity.NCServiceVO;

import java.util.Map;
import java.util.concurrent.Future;

public interface NCInvoker {

        String DATA_SOURCE_CONST = "data_source";
        String GROUP_CONST = "pk_group";
        String SERVICE_NAME_CONST = "serviceName";

        NCInvokerResult invokeSync(NCServiceVO serviceVO, Map<String, Object> params, String tenant, String user) throws BusinessException;

        Future<NCInvokerResult> invokeAsync(NCServiceVO serviceVO, Map<String, Object> params, String tenant, String user, NCInvokerCallBack callBack) throws BusinessException;
}
